package com.zang.threadschema.immutable.test;

import java.util.HashMap;
import java.util.Map;

/**
 * Immutable Object
 * 位置不可变 更改位置时需要替换实例对象
 * 如此就可以使用状态不可变对象实现不可变模式
 * @author Zhang Qiang
 * @Date 2019/9/10 18:32
 */
public final class LocationFinal {

    public final double fx;
    public final double fy;

    public LocationFinal(double x, double y){
        this.fx = x;
        this.fy = y;
    }

    public Map<Double, Double> getStateSnapShot(){
        Map<Double,Double> map = new HashMap<>(1);
        map.put(fx,fy);
        return map;
    }

    public double getFx() {
        return fx;
    }

    public double getFy() {
        return fy;
    }

}
